package com.hhkj.study.admin.dict.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hhkj.study.admin.dict.common.LevelCodeEnum;
import com.ruoyi.common.core.domain.BizBaseEntity;
import com.ruoyi.common.valid.VAdd;
import com.ruoyi.common.valid.VDisable;
import com.ruoyi.common.valid.VEdit;
import com.ruoyi.common.valid.VList;
import com.ruoyi.common.valid.emun.EnumValueCheck;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
*
* @author SERVER
* @since 2024-09-06
*/
@TableName(value = "x_dict_multi_level")
@EqualsAndHashCode(callSuper = true)
@Data
public class DictMultiLevel extends BizBaseEntity {

	/**
	 * 名称
	*/
	@NotBlank(message = "名称不能为空", groups = VAdd.class)
	private String name;
	/**
	 * 上级id 默认 0
	*/
	@NotNull(message = "父id不能为空", groups = {VAdd.class, VList.class})
	private Long parentId;
	/**
	 * 类型code
	*/
	private String typeCode;
	/**
	 * 类别 top 第一级 second 第二级 third 第三级
	*/
	private String levelCode;
	/**
	 * 额外的类型,有些字典需要用到,不用可以为空,这里只带课程大类,字典表中id,可以为多个|隔开
	*/
	private String extendTypes;
	/**
	 * 额外的类型,关联x_dict_multi_level表id,可以为多个|隔开
	*/
	private String extendIds;
	/**
	 * 排序序号
	*/
	private Integer orderNum;
	/**
	 * 禁用标签 0-正常 1-删除
	*/
	@NotNull(message = "禁用状态不能为空", groups = VDisable.class)
	private Integer disableFlag;

	@TableField(exist = false)
	private List<Long> extendTypeList;

	@TableField(exist = false)
	private List<Long> extendIdList;

}